package com.wingsoft.homeFlow.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import com.wingsoft.homeFlow.bo.*;
import com.wingsoft.homeFlow.entity.HomeFlowTask;
import org.springframework.transaction.annotation.Transactional;

/**
 * @author Wingsoft
 * @description 针对表【HOME_FLOW_TASK(流水线任务)】的数据库操作Service
 * @createDate 2025-06-03 13:14:30
 */
public interface HomeFlowTaskService extends IService<HomeFlowTask> {

    @Transactional
    HomeFlowTaskVo add(HomeFlowTaskAddBo homeFlowTaskAddBo);

    @Transactional
    void delById(String id);

    @Transactional
    void uptById(HomeFlowTaskUptBo homeFlowTaskUptBo);

    @Transactional
    void uptStatusById(HomeFlowTaskUptBo homeFlowTaskUptBo);

    Page<HomeFlowTaskVo> page(HomeFlowTaskQo homeFlowTaskQo);

    HomeFlowTaskVo getVoById(String id);

    HomeFlowTask getByTaskCode(String taskCode);

    HomeFlowTaskExecVo execTask(HomeFlowTaskExecBo homeFlowTaskExecBo);

    HomeFlowTaskExecTaskLogVo getExecTaskLog(String taskCode);

    void updateTaskDirectionTypeByTaskCode(String taskCode, Integer code);

}
